package parser

import (
	"encoding/json"
	"micro-sim/pkg/task/dsl"
)

type JsonParser struct{}

func (tp *JsonParser) EncodeDsl(taskObj dsl.TaskConfig) ([]byte, error) {
	return json.Marshal(taskObj)
}

func (tp *JsonParser) DecodeDsl(dslStr []byte) (dsl.TaskConfig, error) {
	var taskConfig dsl.TaskConfig
	err := json.Unmarshal(dslStr, &taskConfig)
	if err != nil {
		return dsl.TaskConfig{}, err
	}

	return taskConfig, nil
}
